package test2;

import java.util.Scanner;

/*
杨氏矩阵类型题
在一个二维数组中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维
数组和一个整数，判断数组中是否含有该整数。
 1 2 3 4
 2 3 4 5
 3 4 5 6
 */
public class Demo3 {
    /**
     * 这个写法是从右上角开始的，也可以从左下角开始
     * @param a
     * @param num
     * @return
     */
    public static boolean isInclude(int[][] a,int num){
    int i=0;
    int j=a[i].length-1;//注意-1不然直接越界
    while (i<a.length && j>=0){
        if(num==a[i][j]){
            return true;
        } else if (num>a[i][j]) {
            i++;
        }else {
            j--;
        }
    }
    return false;
}
    public static void printArr(int[][] a){
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                System.out.print(a[i][j]+" ");
            }
            System.out.println();

        }
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m=scanner.nextInt();
        int n=scanner.nextInt();
        int num=scanner.nextInt();
        int arr[][]=new int[m][n];//3,4
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                arr[0][j]=j+1;
            }
        }
        for (int i = 1; i < m; i++) {
            for (int j = 0; j < n; j++) {
                arr[i][j]=arr[i-1][j]+5;
            }

        }
        printArr(arr);
        System.out.println(isInclude(arr,num));

    }
    //    public static boolean isInclude(int[][] a,int num){
//     可以这么写但是没必要写得麻烦了
//        for (int i = 0; i < a.length; ) {
//            for (int j = a[i].length-1; j >=0; ) {
//                if(num==a[i][j]){
//                    return true;
//                } else if (num>a[i][j]) {
//                    if(i+1<a.length){
//                        i++;
//                    }else {
//                        return false;
//                    }
//                }else {
//                    if(j-1>=0){
//                        j--;
//                    }else {
//                        return false;
//                    }
//
//                }
//
//            }
//
//        }
//        return false;
//
//    }
}
